package net.schmurgon.gwt.request;

import com.google.gwt.valuestore.shared.Record;
import org.springframework.roo.addon.gwt.RooGwtMirroredFrom;
import net.schmurgon.server.domain.Runner;
import com.google.gwt.requestfactory.shared.DataTransferObject;
import com.google.gwt.valuestore.shared.Property;
import net.schmurgon.gwt.shared.Gender;

@RooGwtMirroredFrom(Runner.class)
@DataTransferObject(Runner.class)
public interface RunnerRecord extends Record {

    public String TOKEN = "RunnerRecord";

    Property<java.lang.String> companyName = new com.google.gwt.valuestore.shared.Property<java.lang.String>("companyName", "Company Name", java.lang.String.class);

    Property<java.lang.String> emailAddress = new com.google.gwt.valuestore.shared.Property<java.lang.String>("emailAddress", "Email Address", java.lang.String.class);

    Property<java.lang.String> firstName = new com.google.gwt.valuestore.shared.Property<java.lang.String>("firstName", "First Name", java.lang.String.class);

    Property<net.schmurgon.gwt.shared.Gender> gender = new com.google.gwt.valuestore.shared.EnumProperty<net.schmurgon.gwt.shared.Gender>("gender", net.schmurgon.gwt.shared.Gender.class, net.schmurgon.gwt.shared.Gender.values());

    Property<java.lang.String> lastName = new com.google.gwt.valuestore.shared.Property<java.lang.String>("lastName", "Last Name", java.lang.String.class);

    abstract String getCompanyName();

    abstract String getEmailAddress();

    abstract String getFirstName();

    abstract Gender getGender();

    abstract String getLastName();

    abstract boolean isChanged();

    abstract void setCompanyName(String companyName);

    abstract void setEmailAddress(String emailAddress);

    abstract void setFirstName(String firstName);

    abstract void setGender(Gender gender);

    abstract void setLastName(String lastName);
}
